using RAG.Domain.Interfaces;
using RAG.Domain.DomainEvents;

namespace RAG.Domain.EventHandlers;

/// <summary>
/// 用户登录事件处理器
/// </summary>
public class UserLoggedInEventHandler : IDomainEventHandler<UserLoggedInEvent>
{
    public UserLoggedInEventHandler()
    {
    }

    public async Task HandleAsync(UserLoggedInEvent domainEvent)
    {
        // 记录用户登录事件
        Console.WriteLine($"用户登录成功: {domainEvent.User.Username} (客户端: {domainEvent.ClientType}, IP: {domainEvent.IpAddress})");
        
        // 可以在这里添加其他业务逻辑，比如：
        // - 更新用户最后登录时间
        // - 记录用户登录历史
        // - 发送登录通知
        // - 安全检查（异常登录检测）
        
        await Task.CompletedTask;
    }
} 